Designers often change a physical location of one or more input/output (I/O) signals during a design project. For example, the designers may move a bus from one side of a die to the other. To enable the bus move, other I/O signals that have already been assigned a physical location need to be moved to make room for the bus. However, some I/O assignments cannot be moved. Certain I/O signals need to maintain at an existing location due to various criteria such as board layout and power segment locations.
A common approach to inserting and moving signal-to-pin assignments is to manually reassign existing signals at the destination to make room for newly inserted or moved signals. The manual approach can be tedious and time consuming. Furthermore, the manual approach usually does not offer the designers a two-dimensional top-down or bottom-up view of which signals are assigned to which pins.